1200
Is it possible to display the task bars with a gradient color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2009,12,31,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->GetBars()->Copy(L"Task",L"TaskO");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternShadow));
		var_Bar->PutStartColor(RGB(255,255,255));
		var_Bar->PutEndColor(var_Bar->GetColor());
spG2antt1->GetColumns()->Add(L"Types");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Original"),"TaskO",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Pattern Gradient"),"Task",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Original"),"TaskO",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
spG2antt1->EndUpdate();

1199
How can I know the type of bars I can displays using predefined patterns

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2009,12,31,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	EXG2ANTTLib::IBarsPtr var_Bars = var_Chart->GetBars();
		var_Bars->Add(L"Box")->PutPattern(EXG2ANTTLib::exPatternBox);
		var_Bars->Add(L"ThickBox")->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternThickBox | EXG2ANTTLib::exPatternBox));
		var_Bars->Add(L"DiagBox")->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternThickBox | EXG2ANTTLib::exPatternBDiagonal));
		var_Bars->Copy(L"Task",L"Shadow")->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternFrameShadow | EXG2ANTTLib::exPatternShadow));
		var_Bars->Copy(L"Task",L"TShadow")->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternFrameShadow | EXG2ANTTLib::exPatternThickBox | EXG2ANTTLib::exPatternDiagCross));
		EXG2ANTTLib::IBarPtr var_Bar = var_Bars->Add(L"HGrad1");
			var_Bar->PutPattern(EXG2ANTTLib::exPatternBox);
			var_Bar->PutStartColor(RGB(255,255,255));
			var_Bar->PutEndColor(RGB(0,0,255));
		EXG2ANTTLib::IBarPtr var_Bar1 = var_Bars->Add(L"HGrad2");
			var_Bar1->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternShadow));
			var_Bar1->PutStartColor(RGB(255,255,255));
			var_Bar1->PutEndColor(RGB(0,0,255));
			var_Bar1->PutColor(RGB(0,0,255));
		EXG2ANTTLib::IBarPtr var_Bar2 = var_Bars->Add(L"HGrad3");
			var_Bar2->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternShadow));
			var_Bar2->PutStartColor(RGB(255,255,255));
			var_Bar2->PutEndColor(var_Bar2->GetStartColor());
			var_Bar2->PutColor(RGB(0,0,255));
		EXG2ANTTLib::IBarPtr var_Bar3 = var_Bars->Add(L"HGrad4");
			var_Bar3->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternThickBox | EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternBox));
			var_Bar3->PutStartColor(RGB(255,255,255));
			var_Bar3->PutEndColor(var_Bar3->GetStartColor());
			var_Bar3->PutColor(RGB(0,0,255));
		EXG2ANTTLib::IBarPtr var_Bar4 = var_Bars->Add(L"HGrad5");
			var_Bar4->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternFrameShadow | EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternBox));
			var_Bar4->PutStartColor(RGB(0,255,0));
			var_Bar4->PutEndColor(RGB(255,0,0));
			var_Bar4->PutColor(RGB(0,0,255));
		EXG2ANTTLib::IBarPtr var_Bar5 = var_Bars->Add(L"VGrad1");
			var_Bar5->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternBox));
			var_Bar5->PutStartColor(RGB(255,255,255));
			var_Bar5->PutEndColor(RGB(0,0,255));
			var_Bar5->PutHeight(14);
		EXG2ANTTLib::IBarPtr var_Bar6 = var_Bars->Add(L"VGrad2");
			var_Bar6->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternShadow));
			var_Bar6->PutStartColor(RGB(255,255,255));
			var_Bar6->PutEndColor(RGB(0,0,255));
			var_Bar6->PutColor(RGB(0,0,255));
			var_Bar6->PutHeight(14);
		EXG2ANTTLib::IBarPtr var_Bar7 = var_Bars->Add(L"VGrad3");
			var_Bar7->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternShadow));
			var_Bar7->PutStartColor(RGB(255,255,255));
			var_Bar7->PutEndColor(var_Bar7->GetStartColor());
			var_Bar7->PutColor(RGB(0,0,255));
			var_Bar7->PutHeight(14);
		EXG2ANTTLib::IBarPtr var_Bar8 = var_Bars->Add(L"VGrad4");
			var_Bar8->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternThickBox | EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternBox));
			var_Bar8->PutStartColor(RGB(255,255,255));
			var_Bar8->PutEndColor(var_Bar8->GetStartColor());
			var_Bar8->PutColor(RGB(0,0,255));
			var_Bar8->PutHeight(-1);
		EXG2ANTTLib::IBarPtr var_Bar9 = var_Bars->Add(L"VGrad5");
			var_Bar9->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternFrameShadow | EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternBox));
			var_Bar9->PutStartColor(RGB(0,255,0));
			var_Bar9->PutEndColor(RGB(255,0,0));
			var_Bar9->PutColor(RGB(0,0,255));
			var_Bar9->PutHeight(14);
spG2antt1->GetColumns()->Add(L"Types");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Box"),"Box",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Thick Box"),"ThickBox",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Thick Box Diag"),"DiagBox",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Shadow"),"Shadow",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Thick Shadow"),"TShadow",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Solid Gradient"),"HGrad1",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Pattern Gradient"),"HGrad2",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Pattern Gradient 3 Colors"),"HGrad3",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Solid Gradient 3 Colors"),"HGrad4",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Gradient Shadow"),"HGrad5",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Solid Gradient"),"VGrad1",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Pattern Gradient"),"VGrad2",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Pattern Gradient 3 Colors"),"VGrad3",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Solid Gradient 3 Colors"),"VGrad4",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Gradient Shadow"),"VGrad5",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,9,0,00,00).operator DATE(),"",vtMissing);
spG2antt1->EndUpdate();

1198
Is it possible to display the bars with a thicker border

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,48);
spG2antt1->GetChart()->GetBars()->Copy(L"Task",L"TaskB")->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternThickBox | EXG2ANTTLib::exPatternShadow));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"TaskB",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);
spG2antt1->EndUpdate();

1197
Is it possible to display the shadow for EBN bars

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IBarPtr var_Bar = spG2antt1->GetChart()->GetBars()->Copy(L"Task",L"EBN");
	var_Bar->PutColor(0x1000000);
	var_Bar->PutPattern(EXG2ANTTLib::exPatternFrameShadow);
spG2antt1->GetChart()->GetBars()->Copy(L"Task",L"EBN2")->PutColor(0x1000000);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"EBN2",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"EBN",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"EBN2",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);
spG2antt1->EndUpdate();

1196
Can I display a shadow for my bars

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,48);
spG2antt1->GetChart()->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternFrameShadow | EXG2ANTTLib::exPatternShadow));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);
spG2antt1->EndUpdate();

1195
How can I use the Color property for gradient bars

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IBarPtr var_Bar = spG2antt1->GetChart()->GetBars()->Add(L"V");
	var_Bar->PutColor(RGB(255,0,0));
	var_Bar->PutStartColor(RGB(0,255,0));
	var_Bar->PutEndColor(var_Bar->GetStartColor());
	var_Bar->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternBox));
	var_Bar->PutHeight(-1);
EXG2ANTTLib::IBarPtr var_Bar1 = spG2antt1->GetChart()->GetBars()->Add(L"H");
	var_Bar1->PutColor(RGB(255,0,0));
	var_Bar1->PutStartColor(RGB(0,255,0));
	var_Bar1->PutEndColor(var_Bar1->GetStartColor());
	var_Bar1->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternBox));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"V",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"H",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);
spG2antt1->EndUpdate();

1194
Is there any option to show bars with vertical gradient

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
EXG2ANTTLib::IBarPtr var_Bar = spG2antt1->GetChart()->GetBars()->GetItem("Task");
	var_Bar->PutColor(RGB(255,0,0));
	var_Bar->PutStartColor(RGB(0,255,0));
	var_Bar->PutEndColor(RGB(255,255,0));
	var_Bar->PutPattern(EXG2ANTTLib::PatternEnum(EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternBox));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"",vtMissing);

1193
How can I define a new milestone bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
EXG2ANTTLib::IBarsPtr var_Bars = spG2antt1->GetChart()->GetBars();
	var_Bars->AddShapeCorner(long(12345),long(1));
	var_Bars->AddShapeCorner(long(12346),long(2));
	var_Bars->Copy(L"Milestone",L"M1")->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconVBar | EXG2ANTTLib::exShapeIconRight));
	var_Bars->Copy(L"Milestone",L"M2")->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconSquare | EXG2ANTTLib::exShapeIconRight));
	EXG2ANTTLib::IBarPtr var_Bar = var_Bars->Copy(L"Milestone",L"MP");
		var_Bar->PutStartShape(EXG2ANTTLib::exShapeIconStar);
		var_Bar->PutStartColor(RGB(255,0,0));
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Default"),"Milestone",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Predefined"),"MP",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,3,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Custom 1"),"M1",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Custom 2"),"M2",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),vtMissing,vtMissing);
spG2antt1->EndUpdate();

1192
How can I define my milestone bar, using my icons or pictures
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
EXG2ANTTLib::IBarsPtr var_Bars = spG2antt1->GetChart()->GetBars();
	var_Bars->AddShapeCorner(long(12345),long(1));
	var_Bars->GetItem("Milestone")->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconVBar | EXG2ANTTLib::exShapeIconRight));
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Milestone",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),vtMissing,vtMissing);

1191
Is it possible to specify manually non-working days instead using the NonworkingDays as being repetitive

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutFirstVisibleDate(COleDateTime(2010,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->GetLevel(0)->PutDrawGridLines(VARIANT_TRUE);
	var_Chart->PutShowNonworkingUnits(VARIANT_FALSE);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutNonworkingDays(0);
	var_Chart->AddNonworkingDate(COleDateTime(2010,1,10,0,00,00).operator DATE());
	var_Chart->AddNonworkingDate(COleDateTime(2010,1,11,0,00,00).operator DATE());
	var_Chart->AddNonworkingDate(COleDateTime(2010,1,15,0,00,00).operator DATE());
	var_Chart->AddNonworkingDate(COleDateTime(2010,1,16,0,00,00).operator DATE());
spG2antt1->EndUpdate();

1190
Is it possible to hide specific days

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutFirstVisibleDate(COleDateTime(2010,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->GetLevel(0)->PutDrawGridLines(VARIANT_TRUE);
	var_Chart->PutShowNonworkingUnits(VARIANT_FALSE);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutNonworkingDays(128);
	var_Chart->AddNonworkingDate(COleDateTime(2010,1,10,0,00,00).operator DATE());
	var_Chart->AddNonworkingDate(COleDateTime(2010,1,11,0,00,00).operator DATE());
	var_Chart->AddNonworkingDate(COleDateTime(2010,1,15,0,00,00).operator DATE());
	var_Chart->AddNonworkingDate(COleDateTime(2010,1,16,0,00,00).operator DATE());
spG2antt1->EndUpdate();

1189
Is it possible to show or display the marked zones ONLY in the overview part of the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,14,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAllVisible);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),var_Chart->GetBackColor(),";;Zone <b>1</b>");
	var_Chart->MarkTimeZone("Z2",COleDateTime(2001,2,6,0,00,00).operator DATE(),COleDateTime(2001,2,7,0,00,00).operator DATE(),var_Chart->GetBackColor(),";;Zone <b>2</b>");
	var_Chart->MarkTimeZone("Z3",COleDateTime(2001,1,16,0,00,00).operator DATE(),COleDateTime(2001,1,19,0,00,00).operator DATE(),var_Chart->GetBackColor(),";;Zone <b>3</b>");
	var_Chart->PutOverviewShowMarkTimeZones(VARIANT_TRUE);
	var_Chart->PutOverviewBackColor(RGB(220,240,240));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,2,5,0,00,00).operator DATE(),COleDateTime(2001,2,8,0,00,00).operator DATE(),"K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1188
Is it possible to show or display the marked zones in the overview part of the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,14,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAllVisible);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),long(16777056),vtMissing);
	var_Chart->MarkTimeZone("Z2",COleDateTime(2001,2,6,0,00,00).operator DATE(),COleDateTime(2001,2,7,0,00,00).operator DATE(),long(16744544),vtMissing);
	var_Chart->MarkTimeZone("Z3",COleDateTime(2001,1,16,0,00,00).operator DATE(),COleDateTime(2001,1,19,0,00,00).operator DATE(),long(16744544),vtMissing);
	var_Chart->PutOverviewShowMarkTimeZones(VARIANT_TRUE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,2,5,0,00,00).operator DATE(),COleDateTime(2001,2,8,0,00,00).operator DATE(),"K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1187
Is there a quick way to determine if a bar belongs to a group
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"K2",vtMissing);
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"K3",vtMissing);
	var_Items->GroupBars(h1,"K1",VARIANT_TRUE,h2,"K2",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"K1",VARIANT_FALSE,h2,"K2",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"K1",VARIANT_TRUE,h3,"K3",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"K1",VARIANT_FALSE,h3,"K3",VARIANT_FALSE,vtMissing,vtMissing);
	OutputDebugStringW( _bstr_t(var_Items->GetItemBar(h1,"K1",EXG2ANTTLib::exBarsGroup)) );

1186
I am using the ScrollRange property to limit the chart's visible area, but it does not work as expected. What could be wrong
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,56);
	var_Chart->PutScrollRange(EXG2ANTTLib::exStartDate,COleDateTime(100,1,1,0,00,00).operator DATE());
	var_Chart->PutScrollRange(EXG2ANTTLib::exEndDate,COleDateTime(9999,12,31,0,00,00).operator DATE());
	var_Chart->PutFirstVisibleDate(COleDateTime(2010,4,28,0,00,00).operator DATE());
spG2antt1->PutScrollPartCaption(EXG2ANTTLib::exHChartScroll,EXG2ANTTLib::exLowerBackPart,_bstr_t(spG2antt1->GetChart()->GetScrollRange(EXG2ANTTLib::exStartDate)));
spG2antt1->PutScrollPartCaptionAlignment(EXG2ANTTLib::exHChartScroll,EXG2ANTTLib::exLowerBackPart,EXG2ANTTLib::LeftAlignment);
spG2antt1->PutScrollPartCaption(EXG2ANTTLib::exHChartScroll,EXG2ANTTLib::exUpperBackPart,_bstr_t(spG2antt1->GetChart()->GetScrollRange(EXG2ANTTLib::exEndDate)));
spG2antt1->PutScrollPartCaptionAlignment(EXG2ANTTLib::exHChartScroll,EXG2ANTTLib::exUpperBackPart,EXG2ANTTLib::RightAlignment);
spG2antt1->EndUpdate();

1185
Are you planning to add a AddNonworkingDate / AddNonworkingDay for separate items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutAllowChartScrollPage(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Non-Work");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2009,4,4,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,52);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Default");
	var_Items->PutItemNonworkingUnits(var_Items->AddItem("Test 1"),VARIANT_FALSE,L"shortdate(value) in (#4/5/2009#,#4/6/2009#)");
	var_Items->PutItemNonworkingUnits(var_Items->AddItem("Test 2"),VARIANT_FALSE,L"shortdate(value) in (#4/6/2009#,#4/7/2009#)");
	var_Items->PutItemNonworkingUnits(var_Items->AddItem("Test 3"),VARIANT_FALSE,L"shortdate(value) in (#4/7/2009#,#4/9/2009#)");
	var_Items->AddItem("Default");
spG2antt1->EndUpdate();

1184
How can I enlarge the EBN being applied to an object

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(32);
EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance();
	var_Appearance->Add(2,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(1,"CP:2 -3 -2 3 2");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2002,1,1,0,00,00).operator DATE());
	var_Chart->PutSelBarColor(0x1000000);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2002,1,2,0,00,00).operator DATE(),COleDateTime(2002,1,4,0,00,00).operator DATE(),"A",vtMissing);
	var_Items->AddBar(h,"Task",COleDateTime(2002,1,6,0,00,00).operator DATE(),COleDateTime(2002,1,10,0,00,00).operator DATE(),"B",vtMissing);
	var_Items->AddBar(h,"Task",COleDateTime(2002,1,11,0,00,00).operator DATE(),COleDateTime(2002,1,14,0,00,00).operator DATE(),"C",vtMissing);
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarSelected,VARIANT_TRUE);
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarSelected,VARIANT_TRUE);
spG2antt1->EndUpdate();

1183
I am using EBN to display my bars but the bars shows in black in the overview area. Is there any option to specify a different color in the overview part of the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->GetItem("Task")->PutColor(0x1000000);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAllVisible);
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,11,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),long(1),vtMissing);
	var_Items->PutItemBar(h,long(1),EXG2ANTTLib::exBarOverviewColor,long(8821418));
	var_Items->AddBar(h,"Task",COleDateTime(2001,2,2,0,00,00).operator DATE(),COleDateTime(2001,2,4,0,00,00).operator DATE(),long(2),vtMissing);
	var_Items->PutItemBar(h,long(2),EXG2ANTTLib::exBarOverviewColor,long(8821418));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task",COleDateTime(2001,2,2,0,00,00).operator DATE(),COleDateTime(2001,2,4,0,00,00).operator DATE(),"",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarOverviewColor,long(8821418));
spG2antt1->EndUpdate();

1182
I haven't found options to localize (in Italian) the strings ( dates, tooltip ) that shows in the chart area

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,L"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,L"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%d%> <%mmmm%> <%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutMonthNames(L"gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novembre dicembre");
	var_Chart->PutWeekDays(L"domenica lunedì martedì mercoledì giovedì venerdì sabato");
	var_Chart->PutToolTip(L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1181
I haven't found options to localize (in Dutch) the strings ( dates, tooltip ) that shows in the chart area

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,L"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,L"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%d%> <%mmmm%> <%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutMonthNames(L"januari februari maart april mei juni juli augusts september oktober november december");
	var_Chart->PutWeekDays(L"zondag maandag dinsdag woensdag donderdag vrijdag zaterdag");
	var_Chart->PutToolTip(L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1180
I haven't found options to localize (in German) the strings ( dates, tooltip ) that shows in the chart area (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,L"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%>.<%mmmm%> <%yyyy%><r><%ww%><||><||>256");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,L"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%>.<%m3%> '<%yy%><|><%dddd%> <%d%>.<%mmmm%> <%yyyy%><||><||>4096");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%d%>.<%mmmm%> <%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%dddd%>, <%d%>.<%mmmm%> <%yyyy%>");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutMonthNames(L"Januar Februar März April Mai Juni Juli August September Oktober November Dezember");
	var_Chart->PutWeekDays(L"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag");
	var_Chart->PutToolTip(L"<%dddd%>,<%d%>.<%mmmm%> <%yyyy%>");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1179
I haven't found options to localize (in French) the strings ( dates, tooltip ) that shows in the chart area

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,L"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,L"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%d%> <%mmmm%> <%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutMonthNames(L"janvier février mars avril mai juin juillet août septembre octobre novembre décembre");
	var_Chart->PutWeekDays(L"dimanche lundi mardi mercredi jeudi vendredi samedi");
	var_Chart->PutToolTip(L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1178
How can I determine the last visible date in the chart
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"First" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetFirstVisibleDate()) );
	OutputDebugStringW( L"Last" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetDateFromPoint(1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,1);
spG2antt1->EndUpdate();

1177
How can I filter programatically using more columns
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Car");
	var_Columns->Add(L"Equipment");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"Air Bag");
	var_Items->PutCellValue(var_Items->AddItem("Toyota"),long(1),"Air Bag,Air condition");
	var_Items->PutCellValue(var_Items->AddItem("Ford"),long(1),"Air condition");
	var_Items->PutCellValue(var_Items->AddItem("Nissan"),long(1),"Air Bag,ABS,ESP");
	var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"Air Bag, ABS,ESP");
	var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"ABS,ESP");
EXG2ANTTLib::IColumnPtr var_Column = spG2antt1->GetColumns()->GetItem("Car");
	var_Column->PutFilterType(EXG2ANTTLib::exFilter);
	var_Column->PutFilter(L"Mazda");
EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem("Equipment");
	var_Column1->PutFilterType(EXG2ANTTLib::exPattern);
	var_Column1->PutFilter(L"*ABS*|*ESP*");
spG2antt1->ApplyFilter();
spG2antt1->EndUpdate();

1176
Do you have scheduling functionality in Gantt (meaning scheduling several activities (bars) depending on their start and finish dates with considering dependencies to other activities
// BarResize event - Occurs when a bar is moved or resized.
void OnBarResizeG2antt1(long   Item,VARIANT   Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->SchedulePDM(Item,Key);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Working")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(258));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddLink("L1",h1,"",h2,"");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddLink("L2",h2,"",h3,"");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"FF");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkEndPos,long(2));
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddLink("L3",h4,"",h3,"");
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->SchedulePDM(var_Items->GetFirstVisibleItem(),"");
spG2antt1->EndUpdate();

1175
How can I show the ticks for a single slider field
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Slider")))->GetEditor()->PutEditType(EXG2ANTTLib::SliderType);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(long(10));
	EXG2ANTTLib::IEditorPtr var_Editor = var_Items->GetCellEditor(var_Items->AddItem(long(20)),long(0));
		var_Editor->PutEditType(EXG2ANTTLib::SliderType);
		var_Editor->PutOption(EXG2ANTTLib::exSliderTickFrequency,long(10));
	var_Items->AddItem(long(30));
spG2antt1->EndUpdate();

1174
Is it possible to show ticks for slider fields
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Slider")))->GetEditor();
	var_Editor->PutEditType(EXG2ANTTLib::SliderType);
	var_Editor->PutOption(EXG2ANTTLib::exSliderTickFrequency,long(10));
spG2antt1->GetItems()->AddItem(long(10));

1173
How can I group two bars so the distance between them is limited to a specified range

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2006,9,20,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2006,9,21,0,00,00).operator DATE(),COleDateTime(2006,9,24,0,00,00).operator DATE(),vtMissing,vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown",COleDateTime(2006,9,25,0,00,00).operator DATE(),COleDateTime(2006,9,28,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(31),"1;2");
	OutputDebugStringW( L"The distance between A and B is limited between 1 and 3 days" );
	OutputDebugStringW( L"The B is always after the A" );
spG2antt1->EndUpdate();

1172
How can I group two bars so the distance between them is flexible but never less than a specified value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2006,9,20,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2006,9,21,0,00,00).operator DATE(),COleDateTime(2006,9,24,0,00,00).operator DATE(),vtMissing,vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown",COleDateTime(2006,9,26,0,00,00).operator DATE(),COleDateTime(2006,9,29,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(39),"2");
	OutputDebugStringW( L"The distance between A and B is never less than 2 days" );
	OutputDebugStringW( L"The B is always after the A" );
spG2antt1->EndUpdate();

1171
How can I group two bars so the distance between them is flexible

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2006,9,20,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2006,9,21,0,00,00).operator DATE(),COleDateTime(2006,9,24,0,00,00).operator DATE(),vtMissing,vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown",COleDateTime(2006,9,26,0,00,00).operator DATE(),COleDateTime(2006,9,29,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(39),vtMissing);
	OutputDebugStringW( L"The distance between A and B is flexible, unlimited" );
	OutputDebugStringW( L"The B is always after the A" );
spG2antt1->EndUpdate();

1170
How can I group two bars so the interval between them is fixed

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2006,9,20,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2006,9,21,0,00,00).operator DATE(),COleDateTime(2006,9,24,0,00,00).operator DATE(),"T1","A");
	var_Items->AddBar(h,"Unknown",COleDateTime(2006,9,26,0,00,00).operator DATE(),COleDateTime(2006,9,29,0,00,00).operator DATE(),"T2","B");
	var_Items->AddLink("L",h,"T1",h,"T2");
	var_Items->PutLink("L",EXG2ANTTLib::exLinkGroupBars,long(27));
	var_Items->PutLink("L",EXG2ANTTLib::exLinkShowDir,VARIANT_FALSE);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown",COleDateTime(2006,9,26,0,00,00).operator DATE(),COleDateTime(2006,9,29,0,00,00).operator DATE(),"T2","B");
	var_Items->AddLink("L2",h,"T1",h2,"T2");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkGroupBars,long(27));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkShowDir,VARIANT_FALSE);
	OutputDebugStringW( L"The distance between bars is constant" );
	OutputDebugStringW( L"The B is always after the A" );
spG2antt1->EndUpdate();

1169
How can I group two bars when linking, so moving the first bar will makes the second to move accordingly

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2006,9,20,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2006,9,21,0,00,00).operator DATE(),COleDateTime(2006,9,24,0,00,00).operator DATE(),"","A");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown",COleDateTime(2006,9,26,0,00,00).operator DATE(),COleDateTime(2006,9,29,0,00,00).operator DATE(),"","B");
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkGroupBars,long(39));
	OutputDebugStringW( L"The distance between A and B is flexible, unlimited" );
	OutputDebugStringW( L"The B is always after the A" );
spG2antt1->EndUpdate();

1168
Is it possible to be notified when the user clicks an anchor element a hyperlink in the date-time zone

// AnchorClick event - Occurs when an anchor element is clicked.
void OnAnchorClickG2antt1(LPCTSTR   AnchorID,LPCTSTR   Options)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Click: " );
	OutputDebugStringW( L"AnchorID" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),long(15753471),";32;Caption <a1><b>1</b></a>;1;Caption <a2><b>2</b></a>;17;Caption <a3><b>3</b></a>");
spG2antt1->EndUpdate();

1167
Is it possible to be notified when the user clicks a date-time zone

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void OnClickG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
		OutputDebugStringW( L"Click: " );
		OutputDebugStringW( _bstr_t(var_Chart->GetTimeZoneFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),long(16711680),";32;DATE-TIME<br>    ZONE");
spG2antt1->EndUpdate();

1166
Is is possible to display multiple captions in the same date-time zone

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),long(12895487),";;Caption <b>1</b>;1;Caption <b>2</b>;17;Caption <b>3</b>");
spG2antt1->EndUpdate();

1165
Is is possible to align on the top the caption for the date-time zone

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),long(12895487),";;UpperCenter;1");
spG2antt1->EndUpdate();

1164
Is there any option to display a picture on the date-time zone

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\card.png");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),long(12895487),";;<c><img>pic1</img><br><c>picture");
spG2antt1->EndUpdate();

1163
Is there any option to display a text or a HTML caption on the date-time zone

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z1",COleDateTime(2001,1,1,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),long(12895487),";;zone <b>1</b>");
	var_Chart->MarkTimeZone("Z2",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),long(12895487),";;zone <b>2</b>");
spG2antt1->EndUpdate();

1162
How can I display the date-time zone using a semi-transparent EBN object

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,3,0,00,00).operator DATE(),long(16777056),";;Solid");
	var_Chart->MarkTimeZone("Z2",COleDateTime(2001,1,7,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),long(16777216),"50;;EBN");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1161
How can I display the date-time zone using an EBN or a skin instead a solid color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,3,0,00,00).operator DATE(),long(16777056),";;Solid");
	var_Chart->MarkTimeZone("Z2",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),long(16777216),";;EBN");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1160
How can I display the date-time zone using a pattern instead a solid color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,3,0,00,00).operator DATE(),long(16777056),";;Solid");
	var_Chart->MarkTimeZone("Z2",COleDateTime(2001,1,6,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),long(16777056),";12;Pattern");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1159
How can I display the date-time zone using a transparent color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,3,0,00,00).operator DATE(),long(16777056),";;Opaque");
	var_Chart->MarkTimeZone("Z2",COleDateTime(2001,1,6,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),long(16777056),"50;;Semi-Transparent");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1158
The date time zone is shown behind the bars, is there any way to show it over

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,3,0,00,00).operator DATE(),long(16777056),vtMissing);
	var_Chart->MarkTimeZone("Z2",COleDateTime(2001,1,6,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),long(16777056),"1");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1157
How can I get ifnromation about a date-time zone
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
		OutputDebugStringW( _bstr_t(var_Chart->GetTimeZoneInfo(var_Chart->GetTimeZoneFromPoint(-1,-1))) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,18);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2010,1,1,0,00,00).operator DATE());
	var_Chart->MarkTimeZone("Z1",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,8,0,00,00).operator DATE(),long(16744544),vtMissing);
	var_Chart->MarkTimeZone("Z2",COleDateTime(2010,1,12,0,00,00).operator DATE(),COleDateTime(2010,1,18,0,00,00).operator DATE(),long(16761952),vtMissing);

1156
How can I determine the zone from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
		OutputDebugStringW( _bstr_t(var_Chart->GetTimeZoneFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,18);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2010,1,1,0,00,00).operator DATE());
	var_Chart->MarkTimeZone("Z1",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,8,0,00,00).operator DATE(),long(16744544),vtMissing);
	var_Chart->MarkTimeZone("Z2",COleDateTime(2010,1,12,0,00,00).operator DATE(),COleDateTime(2010,1,18,0,00,00).operator DATE(),long(16761952),vtMissing);

1155
How can I highlight multiple date-time zones (ranges)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,18);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2010,1,1,0,00,00).operator DATE());
	var_Chart->MarkTimeZone("Z1",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,8,0,00,00).operator DATE(),long(16744544),vtMissing);
	var_Chart->MarkTimeZone("Z2",COleDateTime(2010,1,12,0,00,00).operator DATE(),COleDateTime(2010,1,18,0,00,00).operator DATE(),long(16761952),vtMissing);

1154
How can I highlight a date-time range
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,18);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2010,1,1,0,00,00).operator DATE());
	var_Chart->MarkTimeZone("Z1",COleDateTime(2010,1,4,0,00,00).operator DATE(),COleDateTime(2010,1,8,0,00,00).operator DATE(),long(16744544),vtMissing);

1153
How do I get the list of selected date
// ChartEndChanging event - Occurs after the chart has been changed.
void OnChartEndChangingG2antt1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetSelectDates()) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutMarkTodayColor(var_Chart->GetBackColor());

1152
Is there any function I can use to find the bars that intersect with the current bar

// BarResizing event - Occurs when a bar is moving or resizing.
void OnBarResizingG2antt1(long   Item,VARIANT   Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		OutputDebugStringW( L"Key" );
		OutputDebugStringW( L"intesect with" );
		OutputDebugStringW( _bstr_t(var_Items->GetItemBar(Item,Key,EXG2ANTTLib::exBarIntersectWithAsString)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A1","A1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"A2","A2");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"A3","A3");
spG2antt1->EndUpdate();

1151
Is it possible to order the bars on top of other bars

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Copy(L"Task",L"NTask")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A1",vtMissing);
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"A2",vtMissing);
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"A3",vtMissing);
	long h2 = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h2,"NTask",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A1",vtMissing);
	var_Items->AddBar(h2,"NTask",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"A2",vtMissing);
	var_Items->AddBar(h2,"NTask",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"A3",vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_TRUE,h2,"A1",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_FALSE,h2,"A1",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_TRUE,h2,"A2",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_FALSE,h2,"A2",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_TRUE,h2,"A3",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_FALSE,h2,"A3",VARIANT_FALSE,vtMissing,vtMissing);
spG2antt1->EndUpdate();

1150
Is it possible to order the bars on top of other bars (have different colurs so that they can be seen)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Copy(L"Task",L"NTask")->PutOverlaidType(EXG2ANTTLib::OverlaidBarsTypeEnum(EXG2ANTTLib::exOverlaidBarsStackAutoArrange | EXG2ANTTLib::exOverlaidBarsStack));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A1",vtMissing);
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"A2",vtMissing);
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"A3",vtMissing);
	long h2 = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h2,"NTask",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A1",vtMissing);
	var_Items->AddBar(h2,"NTask",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"A2",vtMissing);
	var_Items->AddBar(h2,"NTask",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"A3",vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_TRUE,h2,"A1",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_FALSE,h2,"A1",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_TRUE,h2,"A2",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_FALSE,h2,"A2",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_TRUE,h2,"A3",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_FALSE,h2,"A3",VARIANT_FALSE,vtMissing,vtMissing);
spG2antt1->EndUpdate();

1149
Is it possible to layer bars on top of other bars (have different colurs so that they can be seen)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Copy(L"Task",L"NTask")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A1",vtMissing);
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"A2",vtMissing);
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"A3",vtMissing);
	long h2 = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h2,"NTask",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A1",vtMissing);
	var_Items->AddBar(h2,"NTask",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"A2",vtMissing);
	var_Items->AddBar(h2,"NTask",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"A3",vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_TRUE,h2,"A1",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_FALSE,h2,"A1",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_TRUE,h2,"A2",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_FALSE,h2,"A2",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_TRUE,h2,"A3",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_FALSE,h2,"A3",VARIANT_FALSE,vtMissing,vtMissing);
spG2antt1->EndUpdate();

1148
My skin(EBN) bars are not shown a different color in the overview. What can I do

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->GetItem("Task")->PutColor(0x1000000);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAllVisible);
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,11,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),long(1),vtMissing);
	var_Items->AddBar(h,"Task",COleDateTime(2001,2,2,0,00,00).operator DATE(),COleDateTime(2001,2,4,0,00,00).operator DATE(),long(2),vtMissing);
	var_Items->PutItemBar(h,long(2),EXG2ANTTLib::exBarColor,long(16776960));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task",COleDateTime(2001,2,2,0,00,00).operator DATE(),COleDateTime(2001,2,4,0,00,00).operator DATE(),"",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(255));
spG2antt1->EndUpdate();

1147
How do I colour the lines in the overview section to match the bars they represent on the main chart

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAllVisible);
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),long(1),vtMissing);
	var_Items->AddBar(h,"Task",COleDateTime(2001,2,2,0,00,00).operator DATE(),COleDateTime(2001,2,4,0,00,00).operator DATE(),long(2),vtMissing);
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task",COleDateTime(2001,2,2,0,00,00).operator DATE(),COleDateTime(2001,2,4,0,00,00).operator DATE(),"",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(255));
spG2antt1->EndUpdate();

1146
How do I catch the delete key (down) on a bar
// KeyDown event - Occurs when the user presses a key while an object has the focus.
void OnKeyDownG2antt1(short FAR*   KeyCode,short   Shift)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"KeyCode" );
	OutputDebugStringW( L"Shift" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,27,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutPattern(EXG2ANTTLib::exPatternBox);
		var_Bar->PutHeight(13);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K1","This is a bit of text that is not clipped");
	h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K1","This is a bit of text that get's clipped");
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarHAlignCaption,long(3));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarToolTip,var_Items->GetItemBar(h,"K1",EXG2ANTTLib::exBarCaption));
spG2antt1->EndUpdate();

1145
Is it possible to colour a particular column, I mean the cell's foreground color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"1",vtMissing);
	var_ConditionalFormat->PutForeColor(RGB(255,0,0));
	var_ConditionalFormat->PutApplyTo(EXG2ANTTLib::FormatApplyToEnum(0x1));
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Column 1");
	var_Columns->Add(L"Column 2");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(0)),long(1),long(1));
	var_Items->PutCellValue(var_Items->AddItem(long(2)),long(1),long(3));
	var_Items->PutCellValue(var_Items->AddItem(long(4)),long(1),long(5));
spG2antt1->EndUpdate();

1144
Is it possible to colour a particular column for specified values
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"int(%1) in (3,4,5)",vtMissing);
	var_ConditionalFormat->PutBackColor(RGB(255,0,0));
	var_ConditionalFormat->PutApplyTo(EXG2ANTTLib::FormatApplyToEnum(0x1));
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Column 1");
	var_Columns->Add(L"Column 2");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(0)),long(1),long(1));
	var_Items->PutCellValue(var_Items->AddItem(long(2)),long(1),long(3));
	var_Items->PutCellValue(var_Items->AddItem(long(4)),long(1),long(5));
spG2antt1->EndUpdate();

1143
Is it possible to colour a particular column
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Column 1");
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column 2")))->PutDef(EXG2ANTTLib::exCellBackColor,long(255));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(0)),long(1),long(1));
	var_Items->PutCellValue(var_Items->AddItem(long(2)),long(1),long(3));
	var_Items->PutCellValue(var_Items->AddItem(long(4)),long(1),long(5));
spG2antt1->EndUpdate();

1142
How do i get all the children items that are under a certain parent Item handle
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"P");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
EXG2ANTTLib::IItemsPtr var_Items1 = spG2antt1->GetItems();
	long hChild = var_Items1->GetItemChild(var_Items1->GetFirstVisibleItem());
	OutputDebugStringW( _bstr_t(var_Items1->GetCellValue(hChild,long(0))) );
	OutputDebugStringW( _bstr_t(var_Items1->GetCellValue(var_Items1->GetNextSiblingItem(hChild),long(0))) );
spG2antt1->EndUpdate();

1141
How can I access the control's scroll bar so I can change its appearance
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,0);
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->PutBackground(EXG2ANTTLib::exHSThumb,0x1000000);
spG2antt1->EndUpdate();

1140
How can I show my bars using the parts of the current theme
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance();
	var_Appearance->Add(1,"XP:Button 1 1");
	var_Appearance->Add(2,"XP:Button 1 2");
	var_Appearance->Add(3,"XP:ScrollBar 3 1");
	var_Appearance->Add(4,"XP:ScrollBar 3 2");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	EXG2ANTTLib::IBarsPtr var_Bars = var_Chart->GetBars();
		var_Bars->Add(L"B1")->PutColor(0x1000000);
		var_Bars->Add(L"B2")->PutColor(0x2000000);
		var_Bars->Add(L"S1")->PutColor(0x3000000);
		var_Bars->Add(L"S2")->PutColor(0x4000000);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Button1"),"B1",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Button 2"),"B2",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Scrollbar 1"),"S1",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Scrollbar 2"),"S2",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
spG2antt1->EndUpdate();

1139
How do I hide the text on a bar if the text is to big for the bar length

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,27,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutPattern(EXG2ANTTLib::exPatternBox);
		var_Bar->PutHeight(13);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K1","This is a bit of text that is not clipped");
	h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K1","This is a bit of text that get's clipped");
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarHAlignCaption,long(3));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarToolTip,var_Items->GetItemBar(h,"K1",EXG2ANTTLib::exBarCaption));

1138
Is it possible to change the color for non-working parts of the bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
	var_Chart->PutNonworkingDaysColor(RGB(240,250,240));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,16,0,00,00).operator DATE(),vtMissing,vtMissing);
	long h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,16,0,00,00).operator DATE(),"",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarNonWorkingColor,long(65280));
spG2antt1->EndUpdate();

1137
Is it possible to change the color for the percent bar being displayed inside a specified bar only

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
spG2antt1->GetChart()->GetBars()->Add(L"Task%Progress");
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task%Progress",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.4));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task%Progress",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.5));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercentColor,long(255));

1136
How do I get a handle on the item before adding the bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->PutOnResizeControl(EXG2ANTTLib::exResizeChart);
spG2antt1->GetColumns()->Add(L"Tasks");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Start")))->PutVisible(VARIANT_FALSE);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"End")))->PutVisible(VARIANT_FALSE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2006,9,20,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 0");
	var_Items->PutCellValue(h1,long(1),COleDateTime(2006,9,21,0,00,00).operator DATE());
	var_Items->PutCellValue(h1,long(2),COleDateTime(2006,9,24,0,00,00).operator DATE());
	var_Items->AddBar(h1,"Task",var_Items->GetCellValue(h1,long(1)),var_Items->GetCellValue(h1,long(2)),vtMissing,vtMissing);
	long h2 = var_Items->InsertItem(h,vtMissing,"Task 1");
	var_Items->PutCellValue(h2,long(1),COleDateTime(2006,9,25,0,00,00).operator DATE());
	var_Items->PutCellValue(h2,long(2),COleDateTime(2006,9,28,0,00,00).operator DATE());
	var_Items->AddBar(h2,"Task",var_Items->GetCellValue(h2,long(1)),var_Items->GetCellValue(h2,long(2)),vtMissing,vtMissing);
	long h3 = var_Items->InsertItem(h,vtMissing,"Task 2");
	var_Items->PutCellValue(h3,long(1),COleDateTime(2006,9,29,0,00,00).operator DATE());
	var_Items->PutCellValue(h3,long(2),COleDateTime(2006,10,2,0,00,00).operator DATE());
	var_Items->AddBar(h3,"Task",var_Items->GetCellValue(h3,long(1)),var_Items->GetCellValue(h3,long(2)),vtMissing,vtMissing);
	var_Items->AddItem(var_Items->GetItemCount());
spG2antt1->EndUpdate();

1135
Is there an Items method that I can use to loop around to compare the item's user data against
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->PutItemData(var_Items->InsertItem(h,vtMissing,"Child 2"),long(1234));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetFindItemData(long(1234),vtMissing),VARIANT_TRUE);

1134
How do I make the tooltip box wider to allow for longer text

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutToolTipWidth(328);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarToolTip,"This is a bit of text that's displayed when the cursor hovers the bar");

1133
How do i set the default timeslots to say hours or minutes

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAllVisible);
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutOverviewZoomUnit(24);
	var_Chart->PutOverviewZoomCaption(L"Y|½Y|¼Y|Mo|T|W|D|H|Mi|S");
	var_Chart->PutUnitScale(EXG2ANTTLib::exMinute);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 2"),"Task",COleDateTime(2001,1,16,0,00,00).operator DATE(),COleDateTime(2001,1,25,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 3"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 4"),"Task",COleDateTime(2001,2,16,0,00,00).operator DATE(),COleDateTime(2001,2,25,0,00,00).operator DATE(),vtMissing,vtMissing);
spG2antt1->EndUpdate();

1132
Can I use icons or images in the text in the overview zoom buttons (Sec., Min., Hour, Month...)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAllVisible);
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutOverviewZoomUnit(24);
	var_Chart->PutOverviewHeight(58);
	var_Chart->PutOverviewZoomCaption(L"Y<br>e<br>a<br>r|½Y|¼Y|M<br>o<br>n<br>t<br>h|T|W<br>e<br>e<br>w|<img>pic1:28<img>|H<br>o<br>u<br>r|M<br>i<br>n|S<br>e<br>c");
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 2"),"Task",COleDateTime(2001,1,16,0,00,00).operator DATE(),COleDateTime(2001,1,25,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 3"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 4"),"Task",COleDateTime(2001,2,16,0,00,00).operator DATE(),COleDateTime(2001,2,25,0,00,00).operator DATE(),vtMissing,vtMissing);
spG2antt1->EndUpdate();

1131
Can I use icons or images in the text in the overview zoom buttons (Sec., Min., Hour, Month...)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAllVisible);
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutOverviewZoomUnit(24);
	var_Chart->PutOverviewZoomCaption(L"Y|½Y|¼Y|<img>2<img>|T|W|<img>1<img>|H|M|S");
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 2"),"Task",COleDateTime(2001,1,16,0,00,00).operator DATE(),COleDateTime(2001,1,25,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 3"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 4"),"Task",COleDateTime(2001,2,16,0,00,00).operator DATE(),COleDateTime(2001,2,25,0,00,00).operator DATE(),vtMissing,vtMissing);
spG2antt1->EndUpdate();

1130
How do I change (for localisation) the text in the buttons like (Sec., Min., Hour, Month...)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAllVisible);
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutOverviewZoomUnit(24);
	var_Chart->PutOverviewZoomCaption(L"Y|½Y|¼Y|Mo|T|W|D|H|Mi|S");
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 2"),"Task",COleDateTime(2001,1,16,0,00,00).operator DATE(),COleDateTime(2001,1,25,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 3"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 4"),"Task",COleDateTime(2001,2,16,0,00,00).operator DATE(),COleDateTime(2001,2,25,0,00,00).operator DATE(),vtMissing,vtMissing);
spG2antt1->EndUpdate();

1129
How I can change the Months and Weekdays

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate(COleDateTime(2010,2,1,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitWidth(10);
	var_Chart->PutMonthNames(L"1 2 3 4 5 6 7 8 9 10 11 12");
	var_Chart->PutWeekDays(L"A B C D E F G");
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutLabel("<%mmmm%>");
		var_Level->PutUnit(EXG2ANTTLib::exMonth);
	EXG2ANTTLib::ILevelPtr var_Level1 = var_Chart->GetLevel(1);
		var_Level1->PutLabel("<font ;6><%ddd%>");
		var_Level1->PutUnit(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1128
How do i get the current window time frame (the start and end) of the gantt chart
// DateChange event - Occurs when the first visible date is changed.
void OnDateChangeG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
		OutputDebugStringW( L"Start" );
		OutputDebugStringW( _bstr_t(var_Chart->GetFirstVisibleDate()) );
		OutputDebugStringW( L"" );
		OutputDebugStringW( L"End" );
		OutputDebugStringW( _bstr_t(var_Chart->GetDateFromPoint(var_Chart->GetPaneWidth(VARIANT_TRUE),0)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,1);
	var_Chart->PutLevelCount(2);
	var_Chart->ScrollTo(COleDateTime(2010,1,1,0,00,00).operator DATE(),long(0));
spG2antt1->EndUpdate();

1127
When I use this Chart.get_DateFromPoint(exg2antt1.Width, 0) I get date as 0, 30/12/1899, or 12:00:00 AM. What that means
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetDateFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);

1126
How do I enable grabing bars to other items/rows (and only enable them to be dropped on certain rows)
// BarParentChange event - Occurs just before moving a bar from current item to another item.
void OnBarParentChangeG2antt1(long   Item,VARIANT   Key,long   NewItem,BOOL FAR*   Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( spG2antt1->GetItems()->GetCellCaption(NewItem,long(0)) );
	Cancel = spG2antt1->GetItems()->GetItemData(NewItem);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::OverlaidBarsTypeEnum(EXG2ANTTLib::exOverlaidBarsTransparent | EXG2ANTTLib::exOverlaidBarsOffset));
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Item 1");
	var_Items->PutEnableItem(h,VARIANT_FALSE);
	var_Items->PutItemData(h,long(-1));
	h = var_Items->AddItem("Item 2");
	var_Items->PutItemData(h,long(0));
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"B",vtMissing);
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarCanMoveToAnother,VARIANT_TRUE);
	var_Items->PutItemData(var_Items->AddItem("Item 3"),long(0));
	h = var_Items->AddItem("Item 4");
	var_Items->PutEnableItem(h,VARIANT_FALSE);
	var_Items->PutItemData(h,long(-1));
spG2antt1->EndUpdate();

1125
How can I find out if a date time is a non-working part
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	long h = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	Date d = spG2antt1->GetChart()->GetDateFromPoint(-1,-1);
	OutputDebugStringW( L"d" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetIsNonworkingDate(d,h)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"NonWorking");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutFirstVisibleDate(COleDateTime(2008,1,24,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Default");
	h = var_Items->AddItem("January");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"month(value) = 1");
	h = var_Items->AddItem("February, Saturday, Sunday");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"month(value) = 2 or (weekday(value) = 0 or weekday(value) = 6)");
	h = var_Items->AddItem("Sunday");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"weekday(value) = 0");
spG2antt1->EndUpdate();

1124
I am using the ItemBar property exBarCanMoveToAnother, How do I stop it from being dropped on certain chart rows
// BarParentChange event - Occurs just before moving a bar from current item to another item.
void OnBarParentChangeG2antt1(long   Item,VARIANT   Key,long   NewItem,BOOL FAR*   Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( spG2antt1->GetItems()->GetCellCaption(NewItem,long(0)) );
	Cancel = spG2antt1->GetItems()->GetItemData(NewItem);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::OverlaidBarsTypeEnum(EXG2ANTTLib::exOverlaidBarsTransparent | EXG2ANTTLib::exOverlaidBarsOffset));
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Item 1");
	var_Items->PutEnableItem(h,VARIANT_FALSE);
	var_Items->PutItemData(h,long(-1));
	h = var_Items->AddItem("Item 2");
	var_Items->PutItemData(h,long(0));
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"B",vtMissing);
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarCanMoveToAnother,VARIANT_TRUE);
	var_Items->PutItemData(var_Items->AddItem("Item 3"),long(0));
	var_Items->PutItemData(var_Items->AddItem("Item 4"),long(0));
spG2antt1->EndUpdate();

1123
What is the event I should use to capture the click event on the task item on left hand side
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void OnClickG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	long h = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( spG2antt1->GetItems()->GetCellCaption(h,c) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,vtMissing,"Cell 1.1");
	var_Items->InsertItem(h,vtMissing,"Cell 1.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,vtMissing,"Cell 2.1");
	var_Items->InsertItem(h,vtMissing,"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1122
Can I add a hyperlink assigned to a bar

// AnchorClick event - Occurs when an anchor element is clicked.
void OnAnchorClickG2antt1(LPCTSTR   AnchorID,LPCTSTR   Options)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"AnchorID" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"default");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"<a1><b>A 1</b></a>");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 3");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"<a2><b>A 2</b></a>");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
spG2antt1->EndUpdate();

1121
Can I change the background color only for the text (caption) in a bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"default");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"using <bgcolor=FF0000>bgcolor</bgcolor> HTML attribute ");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
spG2antt1->EndUpdate();

1120
Can I change the font to display the text (caption) in a bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"default");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"<font Segoe UI;8 >using font HTML attribute </fgcolor>");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
spG2antt1->EndUpdate();

1119
How do i change the forecolor of text (caption) in a bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"default");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"<fgcolor=FF0000>using fgcolor HTML attribute </fgcolor>");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 3");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"using exBarForeColor");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarForeColor,long(65280));
spG2antt1->EndUpdate();

1118
I have noticed that when scrolling horizontally the chart a tooltip shown. is it possible to actually do the scrolling without showing the tooltip
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2005,6,20,0,00,00).operator DATE());
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutToolTip(L"");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2005,6,21,0,00,00).operator DATE(),COleDateTime(2005,6,25,0,00,00).operator DATE(),"A",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",COleDateTime(2005,6,28,0,00,00).operator DATE(),COleDateTime(2005,7,2,0,00,00).operator DATE(),"B",vtMissing);
spG2antt1->EndUpdate();

1117
How can I add a bar to be treated as a nonworking part like a "holidays" bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowNonworkingBars(VARIANT_TRUE);
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"weekday(value) in (0,6)");
	var_Items->AddBar(h,"",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"A","holyday");
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarTreatAsNonworking,VARIANT_TRUE);
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,12,0,00,00).operator DATE(),"Z",vtMissing);
	var_Items->PutItemBar(h,"Z",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1116
Is it possible to add bars that act like a non-working fixed part or the item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowNonworkingBars(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"weekday(value) in (0,6)");
	var_Items->AddBar(h,"",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"h","holyday");
	var_Items->PutItemBar(h,"h",EXG2ANTTLib::exBarTreatAsNonworking,VARIANT_TRUE);
	var_Items->PutItemBar(h,"h",EXG2ANTTLib::exBarSelectable,VARIANT_FALSE);
spG2antt1->EndUpdate();

1115
Is it possible to add bars that act like a non-working part or the item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowNonworkingBars(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"weekday(value) in (0,6)");
	var_Items->AddBar(h,"",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"h","holyday");
	var_Items->PutItemBar(h,"h",EXG2ANTTLib::exBarTreatAsNonworking,VARIANT_TRUE);
spG2antt1->EndUpdate();

1114
How can I change the both dates for the bar at once
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutFirstVisibleDate(COleDateTime(2005,6,21,0,00,00).operator DATE());
	var_Chart->PutShowEmptyBars(1);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Test");
	var_Items->AddBar(h,"Task",COleDateTime(2005,6,22,0,00,00).operator DATE(),COleDateTime(2005,6,26,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(h,"Task",COleDateTime(2005,6,27,0,00,00).operator DATE(),COleDateTime(2005,6,29,0,00,00).operator DATE(),vtMissing,vtMissing);
spG2antt1->EndUpdate();

1113
How can I get the selected bars in the chart

// ChartSelectionChanged event - Occurs when the user selects objects in the chart area.
void OnChartSelectionChangedG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetSelectedObjects(EXG2ANTTLib::exSelectBarsOnly)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2005,6,20,0,00,00).operator DATE());
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2005,6,21,0,00,00).operator DATE(),COleDateTime(2005,6,25,0,00,00).operator DATE(),"A",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",COleDateTime(2005,6,28,0,00,00).operator DATE(),COleDateTime(2005,7,2,0,00,00).operator DATE(),"B",vtMissing);
	var_Items->PutItemBar(var_Items->GetFirstVisibleItem(),var_Items->GetFirstItemBar(var_Items->GetFirstVisibleItem()),EXG2ANTTLib::exBarSelected,VARIANT_TRUE);
spG2antt1->EndUpdate();

1112
How can I list the actions that can be performed by undo operations
// ChartEndChanging event - Occurs after the chart has been changed.
void OnChartEndChangingG2antt1(long   Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( spG2antt1->GetChart()->GetUndoListAction(vtMissing,vtMissing) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE());
spG2antt1->GetChart()->PutAllowLinkBars(VARIANT_FALSE);
spG2antt1->GetChart()->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::OverlaidBarsTypeEnum(EXG2ANTTLib::exOverlaidBarsTransparent | EXG2ANTTLib::exOverlaidBarsOffset));
spG2antt1->GetChart()->PutAllowUndoRedo(VARIANT_TRUE);
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,32);
spG2antt1->GetChart()->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A",vtMissing);
	long h = var_Items->AddItem("Item 2");
	var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"B",vtMissing);
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarCanMoveToAnother,VARIANT_TRUE);
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->PutItemNonworkingUnits(var_Items->AddItem("Item 3"),VARIANT_FALSE,L"weekday(value)=0");
	var_Items->PutItemNonworkingUnits(var_Items->AddItem("Item 4"),VARIANT_FALSE,L"weekday(value) in (3,5)");
spG2antt1->EndUpdate();

1111
How can I change the predefined labels being displayed in the chart's header so it shows the data in short format with no literals

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAllVisible);
	var_Chart->PutLevelCount(3);
	var_Chart->PutLabel(EXG2ANTTLib::exYear,L"<%yy%><|><%yyyy%>");
	var_Chart->PutLabel(EXG2ANTTLib::exHalfYear,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exQuarterYear,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exMonth,L"<|><%m%><|><%m%>/<%yy%><|><%m%>/<%yyyy%>");
	var_Chart->PutLabel(EXG2ANTTLib::exThirdMonth,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,L"<|><%ww%><|><%m%>/<%d%>/<%yy%><r><%ww%><|><%m%>/<%d%>/<%yyyy%><r><%ww%><||><||>256");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,L"<|><%d%><|><%m%>/<%d%>/<%yy%><|><%m%>/<%d%>/<%yyyy%><||><||>4096");
	var_Chart->PutLabel(EXG2ANTTLib::exHour,L"<|><%hh%><|><%m%>/<%d%>/<%yy%> <%h%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%> <%AM/PM%><||><||>65536");
	var_Chart->PutLabel(EXG2ANTTLib::exMinute,L"<|><%nn%><|><%h%>:<%nn% <%AM/PM%>><|><%m%>/<%d%>/<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
	var_Chart->PutLabel(EXG2ANTTLib::exSecond,_bstr_t("<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%m%>/<%d%>/<%yy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%m%>/<%d%>/<%yy") +
"yy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exYear,L"<%yyyy%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exHalfYear,L"");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exQuarterYear,L"");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exMonth,L"<%m%>/<%yyyy%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exThirdMonth,L"");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%m%>/<%d%>/<%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%m%>/<%d%>/<%yyyy%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exHour,L"<%m%>/<%d%>/<%yyyy%> <%h%> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exMinute,L"<%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exSecond,L"<%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1110
The histogram does not show (correctly) the bars, even if I changed the Bar.HistogramPattern and Bar.HistogramColor properties. What can be wrong

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,27,0,00,00).operator DATE());
	var_Chart->PutHistogramVisible(VARIANT_TRUE);
	var_Chart->PutHistogramHeight(32);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutHistogramPattern(EXG2ANTTLib::exPatternBDiagonal);
		var_Bar->PutHistogramColor(RGB(255,0,0));
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2001,1,2,8,00,00).operator DATE(),COleDateTime(2001,1,2,12,00,00).operator DATE(),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",COleDateTime(2001,1,1,8,00,00).operator DATE(),COleDateTime(2001,1,5,12,00,00).operator DATE(),vtMissing,vtMissing);
spG2antt1->EndUpdate();

1109
How can I change the default key for the newly added link from "Link1" to my identifier
// AddLink event - Occurs when the user links two bars using the mouse.
void OnAddLinkG2antt1(LPCTSTR   LinkKey)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->AddLink("newIDlink",var_Items->GetLink(LinkKey,EXG2ANTTLib::exLinkStartItem),var_Items->GetLink(LinkKey,EXG2ANTTLib::exLinkStartBar),var_Items->GetLink(LinkKey,EXG2ANTTLib::exLinkEndItem),var_Items->GetLink(LinkKey,EXG2ANTTLib::exLinkEndBar));
		var_Items->RemoveLink(LinkKey);
}

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetLinkFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2005,6,20,0,00,00).operator DATE());
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2005,6,21,0,00,00).operator DATE(),COleDateTime(2005,6,25,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",COleDateTime(2005,6,28,0,00,00).operator DATE(),COleDateTime(2005,7,2,0,00,00).operator DATE(),"",vtMissing);
spG2antt1->EndUpdate();

1108
How can I change the default key for the newly added link from "Link1" to my identifier
// AllowLink event - Notifies at runtime when a link between two bars is possible.
void OnAllowLinkG2antt1(long   StartItem,VARIANT   StartBarKey,long   EndItem,VARIANT   EndBarKey,VARIANT FAR*   LinkKey,BOOL FAR*   Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	LinkKey = "newIDlink";
}

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetLinkFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2005,6,20,0,00,00).operator DATE());
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2005,6,21,0,00,00).operator DATE(),COleDateTime(2005,6,25,0,00,00).operator DATE(),"",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",COleDateTime(2005,6,28,0,00,00).operator DATE(),COleDateTime(2005,7,2,0,00,00).operator DATE(),"",vtMissing);
spG2antt1->EndUpdate();

1107
We want to have a Task ID column as the first column that shows the row number. How can we do that
// FormatColumn event - Fired when a cell requires to format its caption.
void OnFormatColumnG2antt1(long   Item,long   ColIndex,VARIANT FAR*   Value)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	Value = spG2antt1->GetItems()->GetItemPosition(Item);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos")));
	var_Column->PutWidth(24);
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutPosition(0);
	var_Column->PutFireFormatColumn(VARIANT_TRUE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Task A");
	var_Items->AddItem("Task B");
	var_Items->AddItem("Task C");
	var_Items->AddItem("Task D");
spG2antt1->EndUpdate();

1106
How can I get the caption of focused item
// SelectionChanged event - Fired after a new item has been selected.
void OnSelectionChangedG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		OutputDebugStringW( L"Handle" );
		OutputDebugStringW( _bstr_t(var_Items->GetFocusItem()) );
		OutputDebugStringW( L"Caption" );
		OutputDebugStringW( var_Items->GetCellCaption(var_Items->GetFocusItem(),long(0)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,vtMissing,"Cell 1.1");
	var_Items->InsertItem(h,vtMissing,"Cell 1.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,vtMissing,"Cell 2.1");
	var_Items->InsertItem(h,vtMissing,"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1105
How can I get the caption of selected item
// SelectionChanged event - Fired after a new item has been selected.
void OnSelectionChangedG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		OutputDebugStringW( L"Handle" );
		OutputDebugStringW( _bstr_t(var_Items->GetSelectedItem(0)) );
		OutputDebugStringW( L"Caption" );
		OutputDebugStringW( var_Items->GetCellCaption(var_Items->GetSelectedItem(0),long(0)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,vtMissing,"Cell 1.1");
	var_Items->InsertItem(h,vtMissing,"Cell 1.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,vtMissing,"Cell 2.1");
	var_Items->InsertItem(h,vtMissing,"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1104
How can I get the link from the point

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetLinkFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,29,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"L1");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"L2");
spG2antt1->EndUpdate();

1103
How can I get the bar from the point

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetBarFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,29,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
spG2antt1->EndUpdate();

1102
How can I get the level from the cursor

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetLevelFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate(COleDateTime(2010,6,25,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(4);

1101
How can I get the date from the cursor

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetDateFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);